In a system formed by a server, a storage, a network, and the like which are operated by execution of an operating system (OS), middleware, and an application program, job scheduling for automating and operating a job is performed.
In a case of executing a job so as to conduct certain business, a time limit for the end of execution of the job is typically set. For example, in a system of a bank or the like, a job which is executed at night is desired to be finished by a start time of online business. In automation of a job, job scheduling with consideration for such an execution end time is performed.
As a related art of job scheduling, for example, a technique has been proposed in which a scheduled process time for a job scenario is executed is calculated by using reference multiplicity and scheduled multiplicity.
In addition, a technique has been proposed in which a critical path which influences a start time of a specific job is determined, and a job on the critical path is given a higher priority when a predicted end time of the specific job is later than a target end time.
Further, a technique has been proposed in which batch jobs and an execution schedule thereof are acquired; only a batch job in a certain load level is executed; and the next batch job is not executed until execution of the batch job ends.
Further, a technique has been proposed in which a critical path is found by performing forward search between a start point job and an end point job, and a critical path is found by performing backward search of specific jobs from the end point job. When the critical paths are different between forward and backward directions, execution duration is calculated with the critical path having the longer execution duration as a normal critical path.
Related techniques are disclosed in, for example, Japanese Laid-open Patent Publication No. 2010-231694, Japanese Laid-open Patent Publication No. 2004-295731, Japanese Laid-open Patent Publication No. 2011-043968, and Japanese Laid-open Patent Publication No. 2009-043188.
As mentioned above, typically, since there is a deadline in an operation of a job, scheduling is performed by predicting an execution end time of the job, but an execution time of the job varies depending on the date and time, and the like. For example, there is a case where such a time period that the time taken to execute a job is lengthened occurs in a certain cycle.
In that case, in the time period when execution of the job is lengthened, if job scheduling is performed by predicting the job execution in a fixed manner based on only an average time or the like, the job execution is delayed, and thus there is a problem in that the business may not be finished within the deadline.